software programming defects development windows thin-client projects c++ developers programming code proper code embedded radius3 linux java unix open source j2ee application .net